Before computers, numerical analyses, particularly financial ones, were usually prepared on an accountant's columnar pad or spreadsheet, with pencil and calculator in hand. By organising data into columns and rows, spreadsheets afford the rapid assimilation of information by a reader. The task of preparing a spreadsheet on paper, however, is not quite so fast. Instead, the process tends to be very slow, as each entry must be tediously calculated and entered into the spreadsheet. Since all calculations are the responsibility of the preparer, manually prepared spreadsheets are also prone to errors. Hence, preparation of spreadsheets by hand is slow, tedious, and unreliable.
With the advent of microcomputers, a solution was forthcoming in the form of “electronic spreadsheets.” Better known simply as “spreadsheets,” these software programs provide a computerised replacement for the traditional financial modelling tools: the accountant's columnar pad, pencil, and calculator. In some regards, spreadsheet programs are to those tools what word processors are to typewriters. Spreadsheets offer dramatic improvements in ease of creating, editing, and using financial models.
A typical spreadsheet program configures the memory of a computer to resemble the column/row or grid format of an accountant's columnar pad, thus providing a visible calculator for a user. Because this “pad” exists dynamically in the computer's memory, however, it differs from paper pads in several important ways. Locations in the electronic spreadsheet, for example, must be communicated to the computer in a format which it can understand. A common scheme for accomplishing this is to assign a number to each row in a spreadsheet, a letter to each column, and another letter to each sheet (or page) of the spreadsheet. To reference a location at column A and row 1 of the second page (i.e., the upper-left hand corner), for example, the user types in “B:A1”. In this manner, the spreadsheet defines an addressable storage location or “cell” at each intersection of a row with a column within a given page.
Data entry into an electronic spreadsheet occurs in much the same manner that information would be entered on an accountant's pad. After a screen cursor is positioned at a desired location, the user can enter alphanumeric information. Besides holding text and numeric information, however, spreadsheet cells can store special instructions or “formulas” specifying calculations to be performed on the numbers stored in spreadsheet cells. Such spreadsheet cells can also be defined and named as a range as long as they are arranged as a connex set of cells. A typical example of such a named range simply corresponds to a regular table found in an accountant's pad. In this fashion, range names can serve as variables in an equation, thereby allowing precise mathematical relationships to be defined between cells. The structure and operation of a spreadsheet program, including advanced functions such as functions and macros, are documented in the technical, trade, and patent literature.
Electronic spreadsheets offer many advantages over their paper counterparts. For one, electronic spreadsheets are much larger (i.e., hold more information) than their paper counterparts; electronic spreadsheets having thousands or even millions of cells are not uncommon. Spreadsheet programs also allow users to perform “what-if” scenarios. After a set of computational relationships has been entered into a worksheet, thanks to imbedded formulas for instance, the spread of information can be recalculated using different sets of assumptions, with the results of each recalculation appearing almost instantaneously. Performing this operation manually, with paper and pencil, would require recalculating every relationship in the model with each change made. Thus, electronic spreadsheet systems were invented to solve “what-if’ problems, that is, changing an input and seeing what happens to an output. Cell ranges are used to automate the computations in a spreadsheet. Whether cells or cell ranges are named or not, they can be referenced within a formula either by a “relative” or an “absolute” reference. Such a reference can be the address of the referenced cell (or cell range), or the name of the cell (or cell range) if it turns that this cell (or cell range) is named.                With a relative reference, the cell (or cell range) is determined from the position (relative address) of the cell hosting the reference.        With an absolute reference, the cell (or cell range) is determined from its absolute position (absolute address) within the spreadsheet.        
When a cell comprising a formula with one or a plurality of relative and/or absolute cell (or cell range) references, is first cut or copied and then pasted into another cell address, the content of the cut or copied cell (also called source cell) is transferred to the pasted cell (also called destination cell) with the one or the plurality of relative and/or absolute cell (or cell range) references. The relative references point to cells (or cell ranges) determined from the position of the pasted cell, while the absolute references point to the same locations as the ones pointed by the absolute references in the source cell. Such locations can be:                either within the source environment (as implemented by the Lotus Corp. tool 123), or        within the destination environment (as implemented by the Microsoft Corp. tool Excel).        
When such an absolute cell (or cell range) reference is no longer visible from the pasted cell (for instance because the absolute cell (or cell range) reference and the pasted cell belong to different files and the file hosting the referenced cell (or cell range) is closed), then the formula results into an error in the first case. When an absolute cell (or cell range) reference does not comprise the same information in the source environment and in the destination environment, the value taken by the formula in the pasted cell has a high probability to be wrong. The only way to avoid such errors with conventional means would be to do a paste “by value” operation where formulas are replaced by the value they take. However, this operation is detrimental because it leads to a loss of dynamicity and flexibility.